Analytical Computation of Ehrhart Polynomials and its Application in Compile-Time Generated Cache Hints
نویسندگان
چکیده
In modern micro-architectures, computation speed is often reduced by cache misses. Cache analysis is therefore imperative to obtain effective optimization. We present an analytical technique based on reuse distances that focuses on efficiently determining the behavior of fully associative caches and extends to set-associative caches. In this technique, the number of cache misses is obtained by counting the number of integer points in a parameterized polytope. It is well know that this parameterized count can be represented by an Ehrhart polynomial. Previously, interpolation was used to obtain these polynomials, but this technique has some disadvantages, most notably that under certain conditions it fails to produce a solution. Our main contribution is a novel method for calculating Ehrhart polynomials analytically. It extends an existing method, based on Barvinok’s decomposition, for counting the number of points in a nonparameterized polytope. Our technique always produces a solution and is usually faster than interpolation.
منابع مشابه
A Study of the Performance Potential for Dynamic Instruction Hints Selection
Instruction hints have become an important way to communicate compile-time information to the hardware. They can be generated by the compiler and the post-link optimizer to reduce cache misses, improve branch prediction and minimize other performance bottlenecks. This paper discusses different instruction hints available on modern processor architectures and shows the potential performance impa...
متن کاملGenerating cache hints for improved program efficiency
One of the new extensions in EPIC architectures are cache hints. On each memory instruction, two kinds of hints can be attached: a source cache hint and a target cache hint. The source hint indicates the true latency of the instruction, which is used by the compiler to improve the instruction schedule. The target hint indicates at which cache levels it is profitable to retain data, allowing to ...
متن کاملAnalytical Computation of Ehrhart Polynomials and its Applications for Embedded Systems
Many optimization techniques, including several targeted specifically at embedded systems, depend on the ability to calculate the number of points in a parametrized polytope. It is well known that this parametrized count can be represented by an Ehrhart polynomial, which is usually computed through interpolation. In some cases, however, this interpolation fails and in some other cases it can ta...
متن کاملCache Remapping to Improve the Performance of Tiled Algorithms
With the increasing processing power, the latency of the memory hierarchy becomes the stumbling block of many modern computer architectures. In order to speed-up the calculations, different forms of tiling are used to keep data at the fastest cache level. However, conflict misses cannot easily be avoided using the current techniques. In this paper cache remapping is presented as a new way to el...
متن کاملCounting Solutions to Linear and Nonlinear Constraints through Ehrhart Polynomials: Applications to Analyze and Transform Scientiic Programs
In order to produce eecient parallel programs, optimizing compilers need to include an analysis of the initial sequential code. When analyzing loops with aane loop bounds, many computations are relevant to the same general problem: counting the number of integer solutions of selected free variables in a set of linear and/or nonlinear parameterized constraints. For example, computing the number ...
متن کامل